<html>
<head><meta charset="utf-8"><title>cargo directly working in tree · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html">cargo directly working in tree</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="209221585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209221585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209221585">(Sep 06 2020 at 11:41)</a>:</h4>
<p>Not for or against, but the main motivation I think was making <code>cargo test</code> work without having to go through bootstrap, not really the compile times themselves</p>



<a name="209222400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209222400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209222400">(Sep 06 2020 at 12:02)</a>:</h4>
<p>FWIW I believe it mostly will work already, on nightly/latest master. I've been meaning to try and finish testing it and write up docs to that effect.</p>



<a name="209222466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209222466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209222466">(Sep 06 2020 at 12:04)</a>:</h4>
<blockquote>
<p>error: aborting due to 162 previous errors</p>
</blockquote>
<p>looks like it still needs more work :/ mostly errors about <code>Sized</code> not being implemented</p>



<a name="209222477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209222477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209222477">(Sep 06 2020 at 12:04)</a>:</h4>
<p>and duplicate lang items:</p>
<div class="codehilite"><pre><span></span><code><span class="n">error</span>: <span class="nc">duplicate</span><span class="w"> </span><span class="n">lang</span><span class="w"> </span><span class="n">item</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">crate</span><span class="w"> </span><span class="err">`</span><span class="n">core</span><span class="err">`</span><span class="w"> </span><span class="p">(</span><span class="n">which</span><span class="w"> </span><span class="err">`</span><span class="n">rustc_std_workspace_core</span><span class="err">`</span><span class="w"> </span><span class="n">depends</span><span class="w"> </span><span class="n">on</span><span class="p">)</span>: <span class="err">`</span><span class="n">future_trait</span><span class="err">`</span><span class="p">.</span><span class="w"></span>
<span class="w">  </span><span class="o">|</span><span class="w"></span>
<span class="w">  </span><span class="o">=</span><span class="w"> </span><span class="n">note</span>: <span class="nc">the</span><span class="w"> </span><span class="n">lang</span><span class="w"> </span><span class="n">item</span><span class="w"> </span><span class="n">is</span><span class="w"> </span><span class="n">first</span><span class="w"> </span><span class="n">defined</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">crate</span><span class="w"> </span><span class="err">`</span><span class="n">core</span><span class="err">`</span><span class="w"> </span><span class="p">(</span><span class="n">which</span><span class="w"> </span><span class="err">`</span><span class="n">getrandom</span><span class="err">`</span><span class="w"> </span><span class="n">depends</span><span class="w"> </span><span class="n">on</span><span class="p">)</span><span class="w"></span>
<span class="w">  </span><span class="o">=</span><span class="w"> </span><span class="n">note</span>: <span class="nc">first</span><span class="w"> </span><span class="n">definition</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="err">`</span><span class="n">core</span><span class="err">`</span><span class="w"> </span><span class="n">loaded</span><span class="w"> </span><span class="n">from</span><span class="w"> </span><span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">joshua</span><span class="o">/</span><span class="p">.</span><span class="n">local</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">rustup</span><span class="o">/</span><span class="n">toolchains</span><span class="o">/</span><span class="n">nightly</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">unknown</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gnu</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">rustlib</span><span class="o">/</span><span class="n">x86_64</span><span class="o">-</span><span class="n">unknown</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gnu</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">libcore</span><span class="o">-</span><span class="mi">2675</span><span class="n">a9a46b5cec89</span><span class="p">.</span><span class="n">rlib</span><span class="w"></span>
<span class="w">  </span><span class="o">=</span><span class="w"> </span><span class="n">note</span>: <span class="nc">second</span><span class="w"> </span><span class="n">definition</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="err">`</span><span class="n">core</span><span class="err">`</span><span class="w"> </span><span class="n">loaded</span><span class="w"> </span><span class="n">from</span><span class="w"> </span><span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">joshua</span><span class="o">/</span><span class="p">.</span><span class="n">local</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cargo</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">debug</span><span class="o">/</span><span class="n">deps</span><span class="o">/</span><span class="n">libcore</span><span class="o">-</span><span class="mi">65</span><span class="n">cdd401adb8e98d</span><span class="p">.</span><span class="n">rmeta</span><span class="w"></span>
</code></pre></div>



<a name="209222490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209222490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209222490">(Sep 06 2020 at 12:05)</a>:</h4>
<p>You can't just run it - there's some flags and such that need to be set. IIRC I did get it working relatively well though.</p>



<a name="209230531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209230531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209230531">(Sep 06 2020 at 15:49)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209221585">said</a>:</p>
<blockquote>
<p>Not for or against, but the main motivation I think was making <code>cargo test</code> work without having to go through bootstrap, not really the compile times themselves</p>
</blockquote>
<p><code>cargo test</code> for library/ or compiler/ ? if it is for library/, I don't see how making the compiler use a beta libstd is related.</p>



<a name="209230535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209230535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209230535">(Sep 06 2020 at 15:49)</a>:</h4>
<p>for library/ it shouldn't be too hard indeed, I even got that to work in Miri: <a href="https://github.com/RalfJung/miri-test-libstd">https://github.com/RalfJung/miri-test-libstd</a></p>



<a name="209230588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209230588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209230588">(Sep 06 2020 at 15:50)</a>:</h4>
<p>for library, but cc <span class="user-mention" data-user-id="133169">@matklad</span></p>



<a name="209246157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209246157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209246157">(Sep 06 2020 at 23:20)</a>:</h4>
<p>If we can make <em>either</em> lib <strong>or</strong> rustc check and test without the entire bootstrap process, that would simplify things greatly for a vast number of PRs. It might be <em>only</em> an incremental, partial, incomplete gain compared to "somehow we figure it out so everything is just <code>cargo build</code>", but it would be a huge gain.</p>



<a name="209295648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209295648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209295648">(Sep 07 2020 at 13:29)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281757">Jubilee</span> <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209246157">said</a>:</p>
<blockquote>
<p>If we can make <em>either</em> lib <strong>or</strong> rustc check and test without the entire bootstrap process, that would simplify things greatly for a vast number of PRs. It might be <em>only</em> an incremental, partial, incomplete gain compared to "somehow we figure it out so everything is just <code>cargo build</code>", but it would be a huge gain.</p>
</blockquote>
<p>we can already do that for the lib though? <code>./x.py test --stage 0 library/std</code> works fine and the build takes 60s (then the tests start). I use this when working on the standard library.</p>



<a name="209295773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209295773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209295773">(Sep 07 2020 at 13:30)</a>:</h4>
<p>oh but you are saying making it work outside <code>x.py</code> would help? I see. Not that I understand how that's such a big deal but I'll just believe that.^^</p>



<a name="209295790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209295790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209295790">(Sep 07 2020 at 13:30)</a>:</h4>
<p>indeed that shouldn't be too hard for the lib; <a href="https://github.com/RalfJung/miri-test-libstd">https://github.com/RalfJung/miri-test-libstd</a> basically already does it</p>



<a name="209295907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209295907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209295907">(Sep 07 2020 at 13:32)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209295773">said</a>:</p>
<blockquote>
<p>./x.py test --stage 0 library/std works fine<br>
oh but you are saying making it work outside <code>x.py</code> would help? I see. Not that I understand how that's such a big deal but I'll just believe that.^^</p>
</blockquote>
<p>This requires first knowing you should use <code>x.py test --stage 0 library/std</code> <span aria-label="shrug" class="emoji emoji-1f937" role="img" title="shrug">:shrug:</span></p>



<a name="209295933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209295933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209295933">(Sep 07 2020 at 13:32)</a>:</h4>
<p>everyone already knows to use <code>cargo test</code> from other projects, this would help rustc be less special</p>



<a name="209295936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209295936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209295936">(Sep 07 2020 at 13:32)</a>:</h4>
<p>yeah, docs can certainly be improved a lot</p>



<a name="209296003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296003">(Sep 07 2020 at 13:33)</a>:</h4>
<p>I mean, I agree it'd be better if it "just worked", I just think that (assuming better docs than what we have right now) having to use <code>x.py</code> isn't bad, really.</p>



<a name="209296050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296050">(Sep 07 2020 at 13:33)</a>:</h4>
<p>Rust basically has drilled programmers into certain almost reflexive understandings. Exploiting those drilled patterns is a desirable feature, thus <a href="#narrow/stream/131828-t-compiler/topic/RIIR.20contributor.20entry.20point">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/RIIR.20contributor.20entry.20point</a></p>



<a name="209296052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296052">(Sep 07 2020 at 13:33)</a>:</h4>
<p>well it is documented already (although maybe we could make it its own page): <a href="https://rustc-dev-guide.rust-lang.org/getting-started.html#building-and-testing-stdcorealloctestproc_macroetc">https://rustc-dev-guide.rust-lang.org/getting-started.html#building-and-testing-stdcorealloctestproc_macroetc</a>. but I think having it be as simple as possible would be helpful</p>



<a name="209296130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296130">(Sep 07 2020 at 13:34)</a>:</h4>
<p>the gap between "something to learn, to verify what it's like" and "you literally already know it and you've done it a thousand times" is enormous.</p>



<a name="209296147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296147">(Sep 07 2020 at 13:34)</a>:</h4>
<p>I feel if we could make it so that the docs is "just replace <code>cargo</code> by <code>x.py</code>", that would be almost as good</p>



<a name="209296167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296167">(Sep 07 2020 at 13:35)</a>:</h4>
<p>I appreciate we aren't there yet, but that seems much easier to achieve than literally using <code>cargo</code></p>



<a name="209296196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296196">(Sep 07 2020 at 13:35)</a>:</h4>
<p>(it's what I am trying to achieve for Miri, which also needs its own build script for various reasons)</p>



<a name="209296281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296281">(Sep 07 2020 at 13:36)</a>:</h4>
<p>for the rustc build, I am skeptical about using <code>cargo</code> directly, so maybe this is a second-best-thing that would be worked towards?</p>



<a name="209296285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296285">(Sep 07 2020 at 13:36)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209296147">said</a>:</p>
<blockquote>
<p>I feel if we could make it so that the docs is "just replace <code>cargo</code> by <code>x.py</code>", that would be almost as good</p>
</blockquote>
<p><code>x.py test</code> means the whole compiler though :/</p>



<a name="209296301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296301">(Sep 07 2020 at 13:36)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209296285">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209296147">said</a>:</p>
<blockquote>
<p>I feel if we could make it so that the docs is "just replace <code>cargo</code> by <code>x.py</code>", that would be almost as good</p>
</blockquote>
<p><code>x.py test</code> means the whole compiler though :/</p>
</blockquote>
<p>yeah I didn't say we are there yet</p>



<a name="209296315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296315">(Sep 07 2020 at 13:36)</a>:</h4>
<p>right, but I'm saying even in theory I don't think we should change it</p>



<a name="209296322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296322">(Sep 07 2020 at 13:36)</a>:</h4>
<p>all I am saying is: IMO, it's not the existence of a wrapper script that is the problem. it's the fact that the wrapper script is so complicated to use.</p>



<a name="209296343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296343">(Sep 07 2020 at 13:37)</a>:</h4>
<p>yeah, that's fair</p>



<a name="209296405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296405">(Sep 07 2020 at 13:37)</a>:</h4>
<p>in <code>x.py</code>'s fairness, it is doing a ton of things -- and specifically the "did you mean to build/test the compiler or the lib" distinction is a tricky one</p>



<a name="209296497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296497">(Sep 07 2020 at 13:38)</a>:</h4>
<p>seems like anything we do there would be a divergence from cargo? except maybe using the PWD</p>



<a name="209296529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296529">(Sep 07 2020 at 13:38)</a>:</h4>
<p>but <code>x.py</code> has to be called from the rustc root and when I tried to change this a few years back people didn't like it^^</p>



<a name="209296562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jannis Harder <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296562">(Sep 07 2020 at 13:39)</a>:</h4>
<p>Would it be possible to make <code>cargo test</code> fail in a way that points at the <code>x.py</code> docs as long as cargo doesn't work here? While I know about <code>x.py</code> I did momentarily forget about it and issued cargo commands and it took me way too long to notice why I suddenly get lots of strange errors</p>



<a name="209296619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209296619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jannis Harder <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209296619">(Sep 07 2020 at 13:39)</a>:</h4>
<p>(not sure if it was <code>cargo test</code> or some other cargo command)</p>



<a name="209297153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209297153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209297153">(Sep 07 2020 at 13:44)</a>:</h4>
<p>we could have a <code>build.rs</code> with <code>compile_error!("use x.py instead")</code></p>



<a name="209297159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209297159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209297159">(Sep 07 2020 at 13:44)</a>:</h4>
<p>that seems easy enough</p>



<a name="209297216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209297216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209297216">(Sep 07 2020 at 13:45)</a>:</h4>
<p>let me work on that</p>



<a name="209298055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209298055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209298055">(Sep 07 2020 at 13:53)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/76444">https://github.com/rust-lang/rust/issues/76444</a></p>



<a name="209300482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209300482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209300482">(Sep 07 2020 at 14:16)</a>:</h4>
<p><span class="user-mention" data-user-id="137027">@Jannis Harder</span> what do you think of <a href="https://github.com/rust-lang/rust/pull/76446">https://github.com/rust-lang/rust/pull/76446</a> ?</p>



<a name="209300642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209300642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209300642">(Sep 07 2020 at 14:18)</a>:</h4>
<p>oh and a second question - were you running that command in <code>library/std</code> or in the top-level directory?</p>



<a name="209300675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209300675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209300675">(Sep 07 2020 at 14:18)</a>:</h4>
<p>right now I assume you're in library/std and recommend <code>build --stage 0 library/std</code></p>



<a name="209300887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209300887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jannis Harder <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209300887">(Sep 07 2020 at 14:20)</a>:</h4>
<p>That certainly would have made me realize what I did wrong right away :) I'm not quite sure where I ran it... what I wanted to do was a stage 2 rustc build for a local perf-run... but it was late at night and I was tired so it could have been any cargo command in any directory ^^</p>



<a name="209300931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209300931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jannis Harder <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209300931">(Sep 07 2020 at 14:21)</a>:</h4>
<p>(not sure if it was when I wanted to do the stage 2 run or just a check for the changes I made)</p>



<a name="209301049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209301049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209301049">(Sep 07 2020 at 14:22)</a>:</h4>
<p>gotcha, well I think pointing to x.py at least will be helpful and I'll leave it up to the contributor to figure out which stage they meant :P</p>



<a name="209301065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209301065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jannis Harder <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209301065">(Sep 07 2020 at 14:22)</a>:</h4>
<p>but if something like that would have appeared at the top or bottom of all the error output I wouldn't have wondered if I completely broke my local clone in some strange way</p>



<a name="209301122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209301122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209301122">(Sep 07 2020 at 14:22)</a>:</h4>
<p>yeah, this is <em>instead</em> of all the error output so even easier to find :)</p>



<a name="209301150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209301150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jannis Harder <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209301150">(Sep 07 2020 at 14:23)</a>:</h4>
<p>yeah, that's even better :)</p>



<a name="209303837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209303837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209303837">(Sep 07 2020 at 14:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span>  Would it be too crazy having <code>x.py testlib</code> being equivalent to <code>x.py test --stage 0 library/std</code>?</p>



<a name="209303861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209303861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209303861">(Sep 07 2020 at 14:52)</a>:</h4>
<p>or <code>x.py teststd</code></p>



<a name="209303868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209303868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209303868">(Sep 07 2020 at 14:52)</a>:</h4>
<p>I would prefer to do everything we can to avoid new, novel subcommands</p>



<a name="209303911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209303911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209303911">(Sep 07 2020 at 14:53)</a>:</h4>
<p>I've been thinking about proposing that Cargo's support for cargo test and cargo build also gains the "path to crate" support</p>



<a name="209303933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209303933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209303933">(Sep 07 2020 at 14:53)</a>:</h4>
<p>like a <code>make -C</code> sort of thing? That sounds useful</p>



<a name="209303958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209303958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209303958">(Sep 07 2020 at 14:53)</a>:</h4>
<p>/me has never used make in anything large enough to not make all</p>



<a name="209304028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209304028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209304028">(Sep 07 2020 at 14:54)</a>:</h4>
<p>it means 'change directories before running anything'</p>



<a name="209304085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209304085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209304085">(Sep 07 2020 at 14:54)</a>:</h4>
<p>so a hypothetical <code>cargo -C library/std build</code> would mean <code>(cd library/std &amp;&amp; cargo build)</code></p>



<a name="209304242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209304242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209304242">(Sep 07 2020 at 14:56)</a>:</h4>
<p>ah, so like git -C. Okay. Yeah, similar, though I don't know that cargo does what we want with just a  "cd"</p>



<a name="209305416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209305416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209305416">(Sep 07 2020 at 15:07)</a>:</h4>
<p>It would certainly be nice if we could make that work.</p>



<a name="209305509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209305509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209305509">(Sep 07 2020 at 15:08)</a>:</h4>
<p>Anyone who has worked in a workspace would find it relatively reasonable that running cargo test from a subdir would build and test that crate.</p>



<a name="209305617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209305617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209305617">(Sep 07 2020 at 15:09)</a>:</h4>
<p>Would be even nicer if <code>cargo test -p std</code> or similar worked.</p>



<a name="209305842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209305842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209305842">(Sep 07 2020 at 15:11)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> well, test -p std is more likely to work, but IMO is less discoverable than a file path</p>



<a name="209305969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209305969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209305969">(Sep 07 2020 at 15:12)</a>:</h4>
<p>In particular, if we could have something like <code>cargo run library/tests/some_particular_test.rs</code> and that intelligently did <code>cargo test</code> with the right specifier for that file, I think that'd be great</p>



<a name="209306233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209306233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209306233">(Sep 07 2020 at 15:15)</a>:</h4>
<p>I'm not sure it's less discoverable. If rust-lang/rust actually acted like one big workspace, it seems pretty intuitive.</p>



<a name="209306344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209306344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209306344">(Sep 07 2020 at 15:16)</a>:</h4>
<p>I think x.py has just set people's expectations that rust's own repo is weird.</p>



<a name="209306385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209306385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209306385">(Sep 07 2020 at 15:16)</a>:</h4>
<p>That is very much true :)</p>



<a name="209306670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209306670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209306670">(Sep 07 2020 at 15:20)</a>:</h4>
<p>I would love to just let people run cargo as normal, in the common case.</p>



<a name="209306887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209306887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209306887">(Sep 07 2020 at 15:23)</a>:</h4>
<p>I meant implementing this upstream in Cargo btw</p>



<a name="209308872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209308872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209308872">(Sep 07 2020 at 15:48)</a>:</h4>
<p><em>nod</em></p>



<a name="209308899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209308899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209308899">(Sep 07 2020 at 15:49)</a>:</h4>
<p>I'm trying to figure out how that might work with what cargo already does, and what minimal additions would make it work here.</p>



<a name="209310067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209310067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209310067">(Sep 07 2020 at 16:03)</a>:</h4>
<p>could we split out 'bootstrap should use cargo directly' into a new thread?</p>



<a name="209310153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209310153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209310153">(Sep 07 2020 at 16:04)</a>:</h4>
<p>I think it started around <a href="#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209220793">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/improving.20bootstrap.20times.20for.20contributor.20fun.20and.20profit/near/209220793</a></p>



<a name="209311752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209311752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209311752">(Sep 07 2020 at 16:26)</a>:</h4>
<p>done, hopefully</p>



<a name="209316265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cargo%20directly%20working%20in%20tree/near/209316265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cargo.20directly.20working.20in.20tree.html#209316265">(Sep 07 2020 at 17:32)</a>:</h4>
<p><code>cargo run path/to/test/file.rs</code> is such a good and obvious idea i'm shocked in retrospect that it's not already how things work.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>